package com.yznote.compileserver.yCompile.io;

import java.io.IOException;

// YIO接口
// 对接oss与os存储
public interface YIOManage {
    /**
     * oss文件转换至os文件
     * @param ossPath oss文件路径
     * @param osPath os文件路径
     */
    void ossFileToOsFile(String ossPath,String osPath) throws IOException;

    /**
     *  os文件转换至oss文件
      * @param osPath os文件路径
     * @param ossPath oss文件路径
     * @throws IOException
     */
    void osFileToOssFile(String osPath,String ossPath) throws IOException;

    /**
     * 删除os文件
     * @param osPath
     */
    void delOsFile(String osPath) throws IOException;

    /**
     * 复制os文件
     * @param originPath
     * @param toPath
     * @throws IOException
     */
    void copyOsFile(String originPath,String toPath) throws IOException;

    /**
     * 移动os文件
     * @param originPath
     * @param toPath
     * @throws IOException
     */
    void moveOsFile(String originPath,String toPath) throws IOException;

    /**
     * 获取os文件
     * @param filePath
     * @return
     * @throws IOException
     */
    byte[] getOsFile(String filePath) throws IOException;

    /**
     * 写入数据至os文件
     * @param filePath
     * @param bytes
     * @param append
     * @throws IOException
     */
    void writeToOsFile(String filePath,byte[] bytes,Boolean append) throws IOException;
}
